/**

 @Name：Aijm 用户管理 管理员管理 角色管理

 */

layui.config({
  base: '/layuiadmin/' //静态资源所在路径
}).extend({
  index: 'lib/index' //主入口模块
}).use(['index','table'], function(){
  var $ = layui.$
  ,table = layui.table
  ,form = layui.form
  ,admin = layui.admin;

  //用户管理
  table.render({
    elem: '#LAY-user-back-user'
    ,url: '/api/admin/user/page' //模拟接口
    ,cols: [[
      {type: 'numbers', width: 100, title: 'ID'}
      ,{field: 'name', title: '用户名', minWidth: 100}
      ,{field: 'loginName', title: '登录名', minWidth: 100}
      ,{field: 'photo', title: '头像', width: 100, templet: '#imgTpl'}
      ,{field: 'phone', title: '手机'}
      ,{field: 'email', title: '邮箱'}
      ,{field: 'sex', width: 80, title: '性别'}
      ,{title: '操作', width: 150, align:'center', fixed: 'right', toolbar: '#table-useradmin-webuser'}
    ]]
    ,page: true
    ,height: 'full-220'
    ,text: '对不起，加载出现异常！'
  });
  
 //监听工具条
 table.on('tool(LAY-user-back-user)', function(obj){
  var data = obj.data;
  if(obj.event === 'del'){
    active.del(data.id);
  } else if(obj.event === 'edit'){
    active.edit(data.id);
  }
});


 //搜索角色
 form.on('submit(LAY-user-front-search)', function(data){
  //执行重载
  table.reload('LAY-user-back-user', {
    where: data.field
  });
});

$('#add').click(function () {
  active.add();
});

//事件
var active = {
  del: function(id){   
    layer.confirm('确定删除吗？', function(index) {
        delData(id, index);
    });
  },
  add: function(){
    updateOrAdd("添加用户", "");
  },
  edit:function(id){
    updateOrAdd("编辑用户", id);
  }
}  


function updateOrAdd(title, id){
  var index = layer.open({
    type: 2
    ,title: title
    ,content: 'userForm.html#/id='+id
    ,btn: ['确定', '取消']
    ,yes: function(index, layero){
      var iframeWindow = window['layui-layer-iframe'+ index]
      ,submit = layero.find('iframe').contents().find("#LAY-user-submit");

      //监听提交
      iframeWindow.layui.form.on('submit(LAY-user-submit)', function(data){
        var field = data.field; //获取提交的字段
        var roleIdList = new Array();
        //提交 Ajax 成功后，静态更新表格中的数据
        for (var key in field) { 
          console.log(key);     //获取key值
          console.log(field[key]); //获取对应的value值
          if(key.indexOf("roleIdList") >=0){
            roleIdList.push(field[key]) ;
          }
        } 
        field.roleIdList =roleIdList;
        if(field.id != undefined && field.id != ""){
            subUpdateOrSave(field,"PUT", index);
        } else{
            delete field.id;
            subUpdateOrSave(field,"POST", index);
        }
       
      });  
      
      submit.trigger('click');
    }
    ,success: function(layero, index){
    
    }
  })
  layer.full(index);
}



//修改或者添加
function subUpdateOrSave(data, method, index){
  data._method =method;
  admin.req({
    type: method,
    url:"/api/admin/user",  
    data: JSON.stringify(data),   
    dataType:"json",
    contentType:'application/json;charset=utf8',
    success:function(res){
        // 表示是修改数据 
        var data = res.data;
        if(res.code==200){
          layer.close(index); //关闭弹层
          table.reload('LAY-user-back-user'); //数据刷新
        }
    },
    error:function(jqXHR){
        alert("发生错误："+ jqXHR.status);
    }
  });
}

function delData(id, index){
  admin.req({
    type: "DELETE",
    url:"/api/admin/user/"+id,  
    dataType:"json",
    contentType:'application/json;charset=utf8',
    success:function(res){
        var data = res.data;
        if(res.code==200){
          layer.close(index); //关闭弹层
          table.reload('LAY-user-back-user'); //数据刷新
        }
    },
    error:function(jqXHR){
        alert("发生错误："+ jqXHR.status);
    }
  });
}
 
});